package com.cw.mapper2;

import com.cw.dto.AppointmentDto;
import com.cw.dto.AppointmentWeekCountDto;
import com.cw.dto.DayAndCountDto;
import com.cw.dto.WeekAppointmentDto;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;
import org.springframework.stereotype.Repository;

import javax.annotation.Resource;
import java.util.List;

@Repository
public interface DayConfigurationMapper {

    Integer insertAppointmentDayCount(@Param("appointmentDayCount") Integer appointmentDayCount, @Param("type") Integer type);

    Integer deleteAppointmentDayCountByType(@Param("type") Integer type);

    Integer deleteAppointmentTimeSlot(@Param("type")Integer type);

    Integer insertAppointmentTimeSlot(@Param("list") List<AppointmentDto> timeSlotLists, @Param("type") Integer type);

    Integer insertAppointmentNaturalTimeSlot(@Param("j") int j, @Param("list") List<AppointmentDto> timeSlotLists, @Param("type") Integer type);

    Integer deleteAppointmentNaturalTimeSlot(@Param("type") Integer type);

    Integer updateAppointmentCount(@Param("list") List<AppointmentDto> appointmentDto, @Param("type") Integer type);

    int selectBedMaxCount(@Param("type") String type);

    Integer getDayCount(@Param("type") Integer type);

    List<AppointmentDto> getTimeSlotConfiguration(Integer type);

    List<DayAndCountDto> selectWeekInfo(WeekAppointmentDto weekAppointmentDto);

    List<WeekAppointmentDto> getWeekInfo2(Integer type);

    void insertNewWeekCount(@Param("list") List<AppointmentWeekCountDto> insertList);
}
